package com.platform.modules.quality.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.platform.modules.quality.entity.QlyInspectionEntity;
import com.platform.modules.quality.vo.QlyInspectionStatusQuantityByAppVo;


public interface QlyInspectionService extends IService<QlyInspectionEntity> {

	/**
	 * @descr 分页查询，params 含分页参数
	 * @param params
	 * @return
	 */
	Page<QlyInspectionEntity> queryPage(Map<String, Object> params);

	/**
	 * @descr 分页查询，params 含分页参数
	 * @param params
	 * @return
	 */
	Page<QlyInspectionEntity> queryPageByApp(Map<String, Object> params);
	
	/**
	 * @descr 查询列表
	 * @param params
	 * @return
	 */
    List<QlyInspectionEntity> queryList(Map<String, Object> params);
	
    /**
     * 定时任务调用, 巡查记录超过整改期限的改为 超期未整改
     * 说明: 小于overDate且状态为"待整改"的巡查记录
     * @param overDate yyyy-MM-dd
     */
    void overdue(String overDate);
    
    
    /**
     * @descr 变更巡查记录 - 问题数量
     * @param insId
     * @param value
     */
    void updateQueNum(String insId, Integer value);
    
    
    
    
    /**
     * @descr 覆写框架自带的 save方法
     */
//    @Override
//    boolean save(QlyInspectionEntity qlyInspectionEntity);
    

	/**
	 * @descr 分页查询，params 含分页参数
	 * @param params
	 * @return
	 */
    QlyInspectionStatusQuantityByAppVo statusQuantity(String prjId);
    

	/**
	 * 推送质量巡查记录通知
	 * @param qlyInspectionEntity
	 */
    void sendMessage(QlyInspectionEntity qlyInspectionEntity);
    
    /**
     * 发送推送消息
     * @param userId
     * @param templateCode
     * @param insId
     */
    void sendMessage(String userId, String templateCode, String insId);
}
